﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Business.Models;
using System.Data;

namespace Business.DAO
{
    public class MonHoc_LopHocDAO
    {
        private ISSContext db = new ISSContext();
        public List<MonHoc_LopHoc> GetAll()
        {
            return db.MonHoc_LopHoc.ToList();
        }

        public MonHoc_LopHoc Get(int id)
        {
            MonHoc_LopHoc MonHoc_LopHoc = db.MonHoc_LopHoc.Find(id);
            return MonHoc_LopHoc;
        }

        public int Create(MonHoc_LopHoc MonHoc_LopHoc)
        {
            try
            {
                db.MonHoc_LopHoc.Add(MonHoc_LopHoc);
                return db.SaveChanges();
            }
            catch (Exception ex)
            {
                return 0;
            }
        }

        public int Edit(MonHoc_LopHoc MonHoc_LopHoc)
        {
            try
            {
                db.Entry(MonHoc_LopHoc).State = EntityState.Modified;
                return db.SaveChanges();
            }
            catch (Exception ex)
            {
                return 0;
            }
        }

        public int Delete(int id)
        {
            try
            {
                MonHoc_LopHoc MonHoc_LopHoc = db.MonHoc_LopHoc.Find(id);
                db.MonHoc_LopHoc.Remove(MonHoc_LopHoc);
                return db.SaveChanges();
            }
            catch (Exception ex)
            {
                return 0;
            }
        }

        public List<MonHoc_LopHoc> GetByMonHoc(MonHoc MonHoc)
        {
            var query = from monhoc_lophoc in db.MonHoc_LopHoc where monhoc_lophoc.MonHoc == MonHoc select monhoc_lophoc;
            List<MonHoc_LopHoc> lstMonHoc_LopHoc = query.ToList<MonHoc_LopHoc>();
            return lstMonHoc_LopHoc;
        }

        public List<MonHoc_LopHoc> GetByLopHoc(LopHoc LopHoc)
        {
            var query = from monhoc_lophoc in db.MonHoc_LopHoc where monhoc_lophoc.LopHoc == LopHoc select monhoc_lophoc;
            List<MonHoc_LopHoc> lstMonHoc_LopHoc = query.ToList<MonHoc_LopHoc>();
            return lstMonHoc_LopHoc;
        }

        public List<MonHoc_LopHoc> GetByQuanTri(QuanTri QuanTri)
        {
            var query = from monhoc_lophoc in db.MonHoc_LopHoc where monhoc_lophoc.QuanTri == QuanTri select monhoc_lophoc;
            List<MonHoc_LopHoc> lstMonHoc_LopHoc = query.ToList<MonHoc_LopHoc>();
            return lstMonHoc_LopHoc;
        }

        public List<MonHoc_LopHoc> GetByMonHoc_LopHoc(MonHoc MonHoc, LopHoc LopHoc)
        {
            var query = from monhoc_lophoc in db.MonHoc_LopHoc where monhoc_lophoc.LopHoc == LopHoc && monhoc_lophoc.MonHoc == MonHoc select monhoc_lophoc;
            List<MonHoc_LopHoc> lstMonHoc_LopHoc = query.ToList<MonHoc_LopHoc>();
            return lstMonHoc_LopHoc;
        }
    }
}